package String;
/*
==是进行对象的地址值比较，如果确实需要字符串的内容比较，可以使用两个方法
equals大小写严格区分
public boolean equals(Object obj):参数可以是任何对象，只有参数是一个字符串并且内容相同的才会返回true；否则返回false
注意事项：
1、任何对象都能用Object进行接收
2、equals方法具有对称性，也就是a.equals(b)和b.equals(a)效果一样
3、如果比较双方一个常量一个变量，推荐把常量字符串写在前面
推荐：
"abc".equals(str5)
不推荐：
str5.equals("abc")  因为变量在前，可能会出现变量为null，那么就会空指针异常

public boolean equalsIgnoreCase(String str):忽略大小写，进行内容的比较

*/
public class Demo03Equals {
    public static void main(String[] args) {
        String str1 = "Hello";
        String str2 = "Hello";
        char[] chararray = {'H','e','l','l','o'};
        String str3 = new String(chararray);

        System.out.println(str1.equals(str2));
        System.out.println(str2.equals(str3));
        System.out.println(str3.equals("Hello"));

        System.out.println("Hello".equals(str1));

        String str4 = "hello";
        System.out.println(str2.equals(str4));

        System.out.println("================================================");
        /*String str5 = null;
        System.out.println("abc".equals(str5));//推荐
        System.out.println(str5.equals("abc"));//不推荐*/

        System.out.println("=================================================");
        String a = "Java";
        String a1 = "java";
        System.out.println(a.equals(a1)); //false
        //下面调用equalsIgnoreCase()方法忽略大小写
        System.out.println(a.equalsIgnoreCase(a1)); //true

        System.out.println("=================================================");
        //注意，只有英文字母区分大小写，其他都不区分大小写
        System.out.println("这个结果是false："+"abc一123".equalsIgnoreCase("abc壹123"));
    }
}
